import "reflect-metadata";
import typeorm = require("typeorm");

/**
 * 数据源
 */
export class dataSource {
    
    /**
     * 构造器
     * @param options 数据库配置
     */
    constructor(public options:typeorm.ConnectionOptions){

    }


    /**
     * 获取连接池
     */
    getConnection?(): Promise<typeorm.Connection> {
        if (!this.options) {
            throw new Error("当前数据源没有连接配置");
        }
        return typeorm.createConnection(this.options);
    }

    /**
     * 设置数据实体
     * @param entities 实体
     */
    setEntities?(entities: Function[] | string[]): void {
        if (this.options && entities) {
            this.options.entities.push.apply(this, entities);
        }
    }
}





